# encoding: utf-8
# module alembic.Util
# from C:\Program Files\Python39\lib\site-packages\alembic.cp39-win_amd64.pyd
# by generator 1.147
# no doc

# imports
from typing import SupportsIndex, overload

import Boost.Python as __Boost_Python

# Variables with simple values

__loader__ = None

__spec__ = None


# no functions
# classes

class Dimensions(__Boost_Python.instance):
    """ The Dimensions class describes the dimensional layout of an array  sample in Array Property """

    @overload
    def __init__(self):
        """ Create a rank-0 Dimensions """

    @overload
    def __init__(self, size: int):
        """ Create a rank-1 Dimensions with the given size """

    @overload
    def __init__(self, dimensions: Dimensions):
        """ Create a Dimensions as a copy of the given Dimensions """

    def __getitem__(self, i: SupportsIndex) -> int:
        """ Return the dimension size of the given rank """

    def __setitem__(self, i: SupportsIndex, x: int):
        """ Set a dimension size of the given rank """

    def __eq__(self, o: object) -> bool: ...

    def __ne__(self, o: object) -> bool: ...

    def __str__(self) -> str: ...

    def __reduce__(self, *args, **kwargs): ...  # real signature unknown

    def numPoints(self) -> int:
        """ Return the number of total points in a dimensional container described by this Dimensions """

    def rank(self) -> int:
        """ Return the rank of this Dimensions """

    def setRank(self, rank: int):
        """ Set Dimensions to have the given rank """

    __instance_size__ = 40


class POD(__Boost_Python.enum):
    """ Plain Old Data Types which are suppored in a Simple Property """

    def __init__(self, *args, **kwargs): ...  # real signature unknown

    kBooleanPOD = 0
    kFloat16POD = 9
    kFloat32POD = 10
    kFloat64POD = 11
    kInt16POD = 4
    kInt32POD = 6
    kInt64POD = 8
    kInt8POD = 2
    kNumPlainOldDataTypes = 14
    kStringPOD = 12
    kUint16POD = 3
    kUint32POD = 5
    kUint64POD = 7
    kUint8POD = 1
    kUnknownPOD = 127
    kWstringPOD = 13
    names = {
        'kBooleanPOD': 0,
        'kFloat16POD': 9,
        'kFloat32POD': 10,
        'kFloat64POD': 11,
        'kInt16POD': 4,
        'kInt32POD': 6,
        'kInt64POD': 8,
        'kInt8POD': 2,
        'kNumPlainOldDataTypes': 14,
        'kStringPOD': 12,
        'kUint16POD': 3,
        'kUint32POD': 5,
        'kUint64POD': 7,
        'kUint8POD': 1,
        'kUnknownPOD': 127,
        'kWstringPOD': 13,
    }
    values = {
        0: 0,
        1: 1,
        2: 2,
        3: 3,
        4: 4,
        5: 5,
        6: 6,
        7: 7,
        8: 8,
        9: 9,
        10: 10,
        11: 11,
        12: 12,
        13: 13,
        14: 14,
        127: 127,
    }
    __slots__ = ()
